home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
hity wydania
/
Ubuntu 9.10 PL
/
karmelkowy-koliberek-desktop-9.10-i386-PL.iso
/
casper
/
filesystem.squashfs
/
usr
/
share
/
doc
/
ltrace
/
TODO
< prev
Wrap
Text File
|
2009-07-25
|
1KB
|
37 lines
* BFD:
+ New executable formats
+ Read list of libraries needed
+ Read list of undefined symbols in executables
+ Read list of exported symbols in libraries
+ Read debugging info from executables/libraries
* Automatically update list of syscalls?
* Improve documentation
* Improve -e/-x options (regexp?)
* Improve -l option
* Improve C++ name demangling
* Display different argument types
* Update /etc/ltrace.conf
* More architectures, cleaner way to port
* More operating systems (solaris?)
* Option -I (inter-library calls)
* Modify ARGTYPE_STRING[0-5] types so that they don't stop displaying chars when '\0' is seen
* Get rid of EVENT_ARCH_SYSCALL and EVENT_ARCH_SYSRET
* Cleaner way to use breakpoints:
+ BP is placed in the PLT
+ When control hits there:
- write down return address
- change return address with another one (handled by ltrace)
- get arguments...
- change the process' PC to be in the correct place,
without removing breakpoint
+ When control hits one of our return addresses:
- get return value...
- change PC to the right place
* To be able to work with processes sharing memory, we must:
+ ptrace() every single thread
+ place breakpoints only in places where the process control can continue
without having to remove it
* List source dependencies in Makefile
* Create different ltrace processes to trace different children
* After a clone(), syscalls may be seen as sysrets in s390 (see trace.c:syscall_p())